#ifndef DMETHODENTITY_H
#define DMETHODENTITY_H

#include "dabstractentity.h"

class DVariableEntity;

class DMethodEntity : public DAbstractEntity
{
	Q_OBJECT
	typedef QList<DVariableEntity*> Parameters;
public:
	DMethodEntity(QObject *parent = 0);
	~DMethodEntity();

	const QString&	returnType() const;
	void			setReturnType(const QString& retType);

	void			addParam(DVariableEntity* pParam);
	void			removeParam(const QString& strParamName);
	void			removeAllParams();
	const			Parameters& params() const;

	bool			isConst() const;
	void			setConstant(bool bConst = true);

	QString			toString() const;
private:
	QString			m_strReturnType;
	Parameters		m_params;
	bool			m_bConst;
};

#endif // DMETHODENTITY_H
